﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using vudu.ClasesDominio;
using vudu.Datos.Fachada;
using vudu.Logica.Excepciones;

namespace vudu.Logica.Comandos
{
    public class ComandoConsultarInformacionEstudiante : Comando<Estudiante>
    {
        //variables
        private Estudiante _estudiante;

        //getters y setters
        public Estudiante Estudiante
        {
            get { return _estudiante; }
            set { _estudiante = value; }
        }

        //Constructor
        public ComandoConsultarInformacionEstudiante(Estudiante estudiante)
        {
            Estudiante = estudiante;
        }

        //Hacemos override del metodo.
        public override Estudiante Ejecutar()
        {
            Estudiante estudiante = new Estudiante();
            EnlaceDatos fachada = new EnlaceDatos();
            estudiante = fachada.ConsultarInformacionEstudiante(Estudiante);
            if (estudiante == null)
            {
                throw new ConexionExeption("No se pudo establecer conexion con la base de datos.");
            }
            if (estudiante.Nombre == null)
            {
                throw new InformacionEstudianteException("No se pudo consultar la informacion del estudiante.");
            }
            return estudiante;
        }
    }
}